home *** CD-ROM | disk | FTP | other *** search
Java Source | 1998-11-01 | 18.7 KB | 500 lines |
- /*
- A basic implementation of the JFrame class.
- */
-
- import java.io.*;
- import java.awt.*;
- import java.text.*;
- import java.awt.event.*;
- import com.sun.java.swing.*;
- import com.sun.java.swing.text.*;
- import com.sun.java.swing.undo.*;
- import com.sun.java.swing.event.*;
- import com.symantec.itools.swing.actions.JActionButton;
- import com.symantec.itools.swing.icons.ImageIcon;
- import com.symantec.itools.swing.actions.JActionMenuItem;
- import com.symantec.itools.swing.JToolBarSeparator;
-
- public class Notepad extends com.sun.java.swing.JFrame
- {
- String curFile=null;
- String curFileDir=null;
-
- public Notepad()
- {
- // This code is automatically generated by Visual Cafe when you add
- // components to the visual environment. It instantiates and initializes
- // the components. To modify the code, only use code syntax that matches
- // what Visual Cafe can generate, or Visual Cafe may be unable to back
- // parse your Java file into its visual environment.
- //{{INIT_CONTROLS
- setJMenuBar(JMenuBar1);
- setTitle("Untitled");
- getContentPane().setLayout(new BorderLayout(0,0));
- setSize(474,377);
- setVisible(false);
- try {
- newIcon.setImageLocation(symantec.itools.net.RelativeURL.getURL("images/new.gif"));
- }
- catch (java.net.MalformedURLException error) { }
- //$$ newIcon.move(0,0);
- try {
- openIcon.setImageLocation(symantec.itools.net.RelativeURL.getURL("images/open.gif"));
- }
- catch (java.net.MalformedURLException error) { }
- //$$ openIcon.move(0,0);
- try {
- saveIcon.setImageLocation(symantec.itools.net.RelativeURL.getURL("images/save.gif"));
- }
- catch (java.net.MalformedURLException error) { }
- //$$ saveIcon.move(0,0);
- try {
- cutIcon.setImageLocation(symantec.itools.net.RelativeURL.getURL("images/cut.gif"));
- }
- catch (java.net.MalformedURLException error) { }
- //$$ cutIcon.move(0,0);
- try {
- copyIcon.setImageLocation(symantec.itools.net.RelativeURL.getURL("images/copy.gif"));
- }
- catch (java.net.MalformedURLException error) { }
- //$$ copyIcon.move(0,0);
- try {
- pasteIcon.setImageLocation(symantec.itools.net.RelativeURL.getURL("images/paste.gif"));
- }
- catch (java.net.MalformedURLException error) { }
- //$$ pasteIcon.move(0,0);
- newAction.setLongDescription("Create a new document");
- newAction.setSmallIcon(newIcon);
- newAction.setShortDescription("New");
- newAction.setActionName("New");
- //$$ newAction.move(0,0);
- openAction.setLongDescription("Open An Existing Document");
- openAction.setSmallIcon(openIcon);
- openAction.setShortDescription("Open");
- openAction.setActionName("Open");
- //$$ openAction.move(0,0);
- saveAction.setLongDescription("Save the current document");
- saveAction.setSmallIcon(saveIcon);
- saveAction.setShortDescription("Save");
- saveAction.setActionName("Save");
- //$$ saveAction.move(0,0);
- cutAction.setLongDescription("Cut the selected text");
- cutAction.setSmallIcon(cutIcon);
- cutAction.setShortDescription("Cut");
- cutAction.setActionName("Cut");
- //$$ cutAction.move(0,0);
- copyAction.setLongDescription("Copy the selected text");
- copyAction.setSmallIcon(copyIcon);
- copyAction.setShortDescription("Copy");
- copyAction.setActionName("Copy");
- //$$ copyAction.move(0,0);
- pasteAction.setLongDescription("Paste text from the clipboard");
- pasteAction.setSmallIcon(pasteIcon);
- pasteAction.setShortDescription("Paste");
- pasteAction.setActionName("Paste");
- //$$ pasteAction.move(0,0);
- undoAction.setEnabled(false);
- undoAction.setLongDescription("Undo");
- undoAction.setShortDescription("Undo");
- undoAction.setActionName("Undo");
- //$$ undoAction.move(0,0);
- redoAction.setEnabled(false);
- redoAction.setLongDescription("Redo");
- redoAction.setShortDescription("Redo");
- redoAction.setActionName("Redo");
- //$$ redoAction.move(0,0);
- exitAction.setLongDescription("Exit the application");
- exitAction.setShortDescription("Exit");
- exitAction.setActionName("Exit");
- //$$ exitAction.move(0,0);
- JScrollPane1.setOpaque(true);
- getContentPane().add("Center", JScrollPane1);
- JScrollPane1.setBounds(0,29,474,348);
- JScrollPane1.getViewport().add(editor);
- editor.setBounds(0,0,471,345);
- JToolBar1.setAlignmentY(0.08F);
- getContentPane().add("North", JToolBar1);
- JToolBar1.setBounds(0,0,474,29);
- JActionButton1.setActionCommand("New");
- JActionButton1.setAction(newAction);
- JToolBar1.add(JActionButton1);
- JActionButton1.setBounds(16,4,51,23);
- JActionButton2.setActionCommand("Open");
- JActionButton2.setAction(openAction);
- JToolBar1.add(JActionButton2);
- JActionButton2.setBounds(67,4,57,23);
- JActionButton3.setActionCommand("Save");
- JActionButton3.setAction(saveAction);
- JToolBar1.add(JActionButton3);
- JActionButton3.setBounds(124,4,55,23);
- JToolBar1.add(JToolBarSeparator1);
- JToolBarSeparator1.setBounds(179,2,10,5);
- JActionButton4.setActionCommand("Cut");
- JActionButton4.setAction(cutAction);
- JToolBar1.add(JActionButton4);
- JActionButton4.setBounds(189,4,45,23);
- JActionButton5.setActionCommand("Copy");
- JActionButton5.setAction(copyAction);
- JToolBar1.add(JActionButton5);
- JActionButton5.setBounds(234,4,53,23);
- JActionButton6.setActionCommand("Paste");
- JActionButton6.setAction(pasteAction);
- JToolBar1.add(JActionButton6);
- JActionButton6.setBounds(287,4,59,23);
- //$$ JMenuBar1.move(0,0);
- JMenu1.setText("File");
- JMenu1.setActionCommand("File");
- JMenu1.setMnemonic((int)'F');
- JMenuBar1.add(JMenu1);
- JActionMenuItem1.setActionCommand("New");
- JActionMenuItem1.setAction(newAction);
- JActionMenuItem1.setAccelerator(com.sun.java.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, Event.CTRL_MASK));
- JActionMenuItem1.setMnemonic((int)'N');
- JMenu1.add(JActionMenuItem1);
- JActionMenuItem2.setActionCommand("Open");
- JActionMenuItem2.setAction(openAction);
- JActionMenuItem2.setAccelerator(com.sun.java.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, Event.CTRL_MASK));
- JActionMenuItem2.setMnemonic((int)'O');
- JMenu1.add(JActionMenuItem2);
- JActionMenuItem3.setActionCommand("Save");
- JActionMenuItem3.setAction(saveAction);
- JActionMenuItem3.setAccelerator(com.sun.java.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, Event.CTRL_MASK));
- JActionMenuItem3.setMnemonic((int)'S');
- JMenu1.add(JActionMenuItem3);
- JMenu1.add(JSeparator1);
- JActionMenuItem7.setActionCommand("Exit");
- JActionMenuItem7.setAction(exitAction);
- JActionMenuItem7.setMnemonic((int)'E');
- JMenu1.add(JActionMenuItem7);
- JMenu2.setText("Edit");
- JMenu2.setActionCommand("Edit");
- JMenu2.setMnemonic((int)'E');
- JMenuBar1.add(JMenu2);
- JActionMenuItem4.setActionCommand("Cut");
- JActionMenuItem4.setAction(cutAction);
- JActionMenuItem4.setAccelerator(com.sun.java.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_X, Event.CTRL_MASK));
- JActionMenuItem4.setMnemonic((int)'U');
- JMenu2.add(JActionMenuItem4);
- JActionMenuItem5.setActionCommand("Copy");
- JActionMenuItem5.setAction(copyAction);
- JActionMenuItem5.setAccelerator(com.sun.java.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, Event.CTRL_MASK));
- JActionMenuItem5.setMnemonic((int)'O');
- JMenu2.add(JActionMenuItem5);
- JActionMenuItem6.setActionCommand("Paste");
- JActionMenuItem6.setAction(pasteAction);
- JActionMenuItem6.setAccelerator(com.sun.java.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_V, Event.CTRL_MASK));
- JActionMenuItem6.setMnemonic((int)'P');
- JMenu2.add(JActionMenuItem6);
- JMenu2.add(JSeparator2);
- JActionMenuItem8.setActionCommand("Undo");
- JActionMenuItem8.setAction(undoAction);
- JActionMenuItem8.setAccelerator(com.sun.java.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Z, Event.CTRL_MASK));
- JMenu2.add(JActionMenuItem8);
- JActionMenuItem9.setActionCommand("Redo");
- JActionMenuItem9.setAction(redoAction);
- JActionMenuItem9.setAccelerator(com.sun.java.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Z, Event.SHIFT_MASK|Event.CTRL_MASK));
- JMenu2.add(JActionMenuItem9);
- //}}
-
- editor.getDocument().addUndoableEditListener(undoHandler);
-
- JActionButton1.setText("");
- JActionButton1.setToolTipText((String)JActionButton1.getAction().getValue(Action.LONG_DESCRIPTION));
-
- JActionButton2.setText("");
- JActionButton2.setToolTipText((String)JActionButton2.getAction().getValue(Action.LONG_DESCRIPTION));
-
- JActionButton3.setText("");
- JActionButton3.setToolTipText((String)JActionButton3.getAction().getValue(Action.LONG_DESCRIPTION));
-
- JActionButton4.setText("");
- JActionButton4.setToolTipText((String)JActionButton4.getAction().getValue(Action.LONG_DESCRIPTION));
-
- JActionButton5.setText("");
- JActionButton5.setToolTipText((String)JActionButton5.getAction().getValue(Action.LONG_DESCRIPTION));
-
- JActionButton6.setText("");
- JActionButton6.setToolTipText((String)JActionButton6.getAction().getValue(Action.LONG_DESCRIPTION));
-
- //{{INIT_MENUS
- //}}
-
- //{{REGISTER_LISTENERS
- SymWindow aSymWindow = new SymWindow();
- this.addWindowListener(aSymWindow);
- SymAction lSymAction = new SymAction();
- exitAction.addActionListener(lSymAction);
- newAction.addActionListener(lSymAction);
- openAction.addActionListener(lSymAction);
- saveAction.addActionListener(lSymAction);
- cutAction.addActionListener(lSymAction);
- copyAction.addActionListener(lSymAction);
- pasteAction.addActionListener(lSymAction);
- undoAction.addActionListener(lSymAction);
- redoAction.addActionListener(lSymAction);
- //}}
- }
-
- void updateUndoStatus()
- {
- undoAction.setEnabled(undo.canUndo());
- undoAction.setActionName(undo.getUndoPresentationName());
- redoAction.setEnabled(undo.canRedo());
- redoAction.setActionName(undo.getRedoPresentationName());
- }
- class UndoHandler implements UndoableEditListener {
-
- /**
- * Messaged when the Document has created an edit, the edit is
- * added to <code>undo</code>, an instance of UndoManager.
- */
- public void undoableEditHappened(UndoableEditEvent e)
- {
- undo.addEdit(e.getEdit());
- updateUndoStatus();
- }
- }
-
-
- UndoableEditListener undoHandler = new UndoHandler();
- UndoManager undo = new UndoManager();
-
- static public void main(String args[])
- {
- Notepad np = new Notepad();
- np.setLocation(50,50);
- np.setVisible(true);
- }
-
- //{{DECLARE_CONTROLS
- com.symantec.itools.swing.icons.ImageIcon newIcon = new com.symantec.itools.swing.icons.ImageIcon();
- com.symantec.itools.swing.icons.ImageIcon openIcon = new com.symantec.itools.swing.icons.ImageIcon();
- com.symantec.itools.swing.icons.ImageIcon saveIcon = new com.symantec.itools.swing.icons.ImageIcon();
- com.symantec.itools.swing.icons.ImageIcon cutIcon = new com.symantec.itools.swing.icons.ImageIcon();
- com.symantec.itools.swing.icons.ImageIcon copyIcon = new com.symantec.itools.swing.icons.ImageIcon();
- com.symantec.itools.swing.icons.ImageIcon pasteIcon = new com.symantec.itools.swing.icons.ImageIcon();
- BasicAction newAction = new BasicAction();
- BasicAction openAction = new BasicAction();
- BasicAction saveAction = new BasicAction();
- BasicAction cutAction = new BasicAction();
- BasicAction copyAction = new BasicAction();
- BasicAction pasteAction = new BasicAction();
- BasicAction undoAction = new BasicAction();
- BasicAction redoAction = new BasicAction();
- BasicAction exitAction = new BasicAction();
- com.sun.java.swing.JScrollPane JScrollPane1 = new com.sun.java.swing.JScrollPane();
- com.sun.java.swing.JTextArea editor = new com.sun.java.swing.JTextArea();
- com.sun.java.swing.JToolBar JToolBar1 = new com.sun.java.swing.JToolBar();
- com.symantec.itools.swing.actions.JActionButton JActionButton1 = new com.symantec.itools.swing.actions.JActionButton();
- com.symantec.itools.swing.actions.JActionButton JActionButton2 = new com.symantec.itools.swing.actions.JActionButton();
- com.symantec.itools.swing.actions.JActionButton JActionButton3 = new com.symantec.itools.swing.actions.JActionButton();
- com.symantec.itools.swing.JToolBarSeparator JToolBarSeparator1 = new com.symantec.itools.swing.JToolBarSeparator();
- com.symantec.itools.swing.actions.JActionButton JActionButton4 = new com.symantec.itools.swing.actions.JActionButton();
- com.symantec.itools.swing.actions.JActionButton JActionButton5 = new com.symantec.itools.swing.actions.JActionButton();
- com.symantec.itools.swing.actions.JActionButton JActionButton6 = new com.symantec.itools.swing.actions.JActionButton();
- com.sun.java.swing.JMenuBar JMenuBar1 = new com.sun.java.swing.JMenuBar();
- com.sun.java.swing.JMenu JMenu1 = new com.sun.java.swing.JMenu();
- com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem1 = new com.symantec.itools.swing.actions.JActionMenuItem();
- com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem2 = new com.symantec.itools.swing.actions.JActionMenuItem();
- com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem3 = new com.symantec.itools.swing.actions.JActionMenuItem();
- com.sun.java.swing.JSeparator JSeparator1 = new com.sun.java.swing.JSeparator();
- com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem7 = new com.symantec.itools.swing.actions.JActionMenuItem();
- com.sun.java.swing.JMenu JMenu2 = new com.sun.java.swing.JMenu();
- com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem4 = new com.symantec.itools.swing.actions.JActionMenuItem();
- com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem5 = new com.symantec.itools.swing.actions.JActionMenuItem();
- com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem6 = new com.symantec.itools.swing.actions.JActionMenuItem();
- com.sun.java.swing.JSeparator JSeparator2 = new com.sun.java.swing.JSeparator();
- com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem8 = new com.symantec.itools.swing.actions.JActionMenuItem();
- com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem9 = new com.symantec.itools.swing.actions.JActionMenuItem();
- //}}
-
- //{{DECLARE_MENUS
- //}}
-
- class SymWindow extends java.awt.event.WindowAdapter
- {
- public void windowClosing(java.awt.event.WindowEvent event)
- {
- Object object = event.getSource();
- if (object == Notepad.this)
- notepad_windowClosing(event);
- }
- }
-
- void notepad_windowClosing(java.awt.event.WindowEvent event)
- {
- exitAction.actionPerformed(new ActionEvent(this, ActionEvent.ACTION_PERFORMED,"exit"));
- }
-
- class SymAction implements java.awt.event.ActionListener
- {
- public void actionPerformed(java.awt.event.ActionEvent event)
- {
- Object object = event.getSource();
- if (object == exitAction)
- exitAction_actionPerformed(event);
- else if (object == newAction)
- newAction_actionPerformed(event);
- else if (object == openAction)
- openAction_actionPerformed(event);
- else if (object == saveAction)
- saveAction_actionPerformed(event);
- else if (object == cutAction)
- cutAction_actionPerformed(event);
- else if (object == copyAction)
- copyAction_actionPerformed(event);
- else if (object == pasteAction)
- pasteAction_actionPerformed(event);
- else if (object == undoAction)
- undoAction_actionPerformed(event);
- else if (object == redoAction)
- redoAction_actionPerformed(event);
- }
- }
-
- void exitAction_actionPerformed(java.awt.event.ActionEvent event)
- {
- System.exit(0);
- }
-
- void newAction_actionPerformed(java.awt.event.ActionEvent event)
- {
- Document oldDoc = editor.getDocument();
- if(oldDoc != null)
- {
- oldDoc.removeUndoableEditListener(undoHandler);
- }
- editor.setDocument(new PlainDocument());
- editor.getDocument().addUndoableEditListener(undoHandler);
- undo.discardAllEdits();
- updateUndoStatus();
- setTitle("Untitled");
- curFile=null;
- curFileDir=null;
- }
-
- void openAction_actionPerformed(java.awt.event.ActionEvent event)
- {
- try
- {
- FileDialog fd = new FileDialog(this);
- fd.setMode(FileDialog.LOAD);
- fd.setVisible(true);
-
- String theFile = fd.getFile();
- String theFileDir = fd.getDirectory();
- if ( (theFile == null) || (theFile.equals("")))
- {
- //no selected file so abort
- return;
- }
-
- File f=new File(theFileDir, theFile);
- if(!f.exists())
- { //file not there, abort
- return;
- }
- Document oldDoc = editor.getDocument();
- if(oldDoc != null)
- {
- oldDoc.removeUndoableEditListener(undoHandler);
- }
- editor.setDocument(new PlainDocument());
- editor.getDocument().addUndoableEditListener(undoHandler);
-
- setTitle(theFile);
-
- Reader in=new FileReader(f);
- char[] buff = new char[4096];
- int nch;
- while ((nch = in.read(buff, 0, buff.length)) != -1)
- {
- editor.getDocument().insertString(editor.getDocument().getLength(), new String(buff, 0, nch), null);
- }
- undo.discardAllEdits();
- updateUndoStatus();
-
- curFile = theFile;
- curFileDir = theFileDir;
- setTitle(curFile);
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- void saveAction_actionPerformed(java.awt.event.ActionEvent event)
- {
- try
- {
- String text = editor.getText();
- if (curFile==null)
- {
- FileDialog fd = new FileDialog(this);
- fd.setMode(FileDialog.SAVE);
- fd.setVisible(true);
- String theFile=fd.getFile();
- String theFileDir=fd.getDirectory();
- if ( (theFile == null) || (theFile.equals("")))
- {
- //no selected file so abort
- return;
- }
- curFile=theFile;
- curFileDir=theFileDir;
- }
-
- File f = new File(curFileDir, curFile);
- FileWriter out = new FileWriter(f);
- out.write(text);
- out.close();
- setTitle(curFile);
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- void cutAction_actionPerformed(java.awt.event.ActionEvent event)
- {
- editor.cut();
- }
-
- void copyAction_actionPerformed(java.awt.event.ActionEvent event)
- {
- editor.copy();
- }
-
- void pasteAction_actionPerformed(java.awt.event.ActionEvent event)
- {
- editor.paste();
- }
-
- void undoAction_actionPerformed(java.awt.event.ActionEvent event)
- {
- try
- {
- undo.undo();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- updateUndoStatus();
- }
-
- void redoAction_actionPerformed(java.awt.event.ActionEvent event)
- {
- try
- {
- undo.redo();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- updateUndoStatus();
- }
- }